package com.neulogistics.contrib.warehouse.domain.model.aggregate;

import com.neulogistics.contrib.warehouse.domain.model.enumeration.WarehouseLevel;
import com.neulogistics.contrib.warehouse.domain.model.valueobject.Address;
import com.neulogistics.infrastructure.ddd.domain.seedwork.Entity;
import com.neulogistics.infrastructure.ddd.domain.seedwork.IAggregateRoot;
import lombok.Data;

import java.util.Date;

@Data
public class Warehouse extends Entity<Integer> implements IAggregateRoot {
    /**
     * 库房id
     */
    private Integer warehouseId;

    /**
     * 库房名
     */
    private String warehouseName;

    /**
     * 库房地址{省，市，区，详细}
     */
    private Address warehouseAddress;

    /**
     * 库房等级：0：中心库房；1：分站库房
     */
    private WarehouseLevel warehouseLevel;

    /**
     * 生成时间
     */
    private Date createTime;

    /**
     * 是否删除
     */
    private Integer deleted;

    public Warehouse() {
    }

    public Warehouse(String warehouseName, Address warehouseAddress, WarehouseLevel warehouseLevel) {
        this.warehouseName = warehouseName;
        this.warehouseAddress = warehouseAddress;
        this.warehouseLevel = warehouseLevel;
    }
}
